1. Field of the Invention
The invention relates to persistent context-based behavior injection or testing of a computing system.
2. Related Art
It is desirable to test computer systems to evaluate the reliability of those systems in the face of specified conditions (when anomalous, these specified conditions are sometimes called “faults”). In relatively complex systems, such as computer systems using relatively complex software, it is desirable for such testing to incorporate testing of interrelationships between and among components, rather than just of the operation of individual components. Moreover, in relatively complex systems, the system itself might maintain some degree of state information; it is desirable for such testing to incorporate testing of conditions for which the system response might depend on system state (whether that state is global state or specific to a selected set of components).
One known problem is that systems that are relatively more complex have a substantially larger number of possible conditions that must be tested. Some of those conditions may involve software errors, some may involve hardware failures of interruptions, and some may involve a combination thereof. Other conditions may not involve errors, but are difficult to deterministically create due to limitations on the configuration or other attributes of the system being tested. Still other conditions may not involve errors, but are in some other way difficult to create, such as being awkward, expensive, rare, or involve some other difficulty. For example, if a condition takes several hours to set up for testing, it can be difficult to test that condition repeatedly. Exhaustively generating a set of possible conditions by actual manipulation of the hardware is thus often infeasible. Artificially inducing conditions that ought to lead to the specified behaviors is then subject to the desire of covering as many possible combinations of system state and possible conditions as can be managed. In the case of a relatively complex system, it is therefore desirable to be able to induce behaviors that are related to each other, and that are designed to test the interrelationship between and among system components.